// 二、创建仓库
// 2.1 安装 pinia ,npm i pinia
// 2.2 创建仓库板块
import { defineStore } from 'pinia'

// 9.31定义接口数据类型,这个数据放到 api.d.ts,将这个数据放到全局 types文件夹里面的 api.d.ts
// interface IUserState {
//   routesList: IMenuModel[]
// }

// 2.3 导出该仓库
export const useUserStore = defineStore
  (
    // 2.4 添加仓库命名空间
    'user',
    // 2.5 去到 main.ts 里面注册仓库
    {
      // 9.32约束接口返回的数据类型
      // 9.33然后去到 api.ts 文件
      // state: () => ({
      state: ():IUserState => ({
        // 9.9新建个数组来存放请求回来的左侧数据
        // 9.10去到 api.ts 文件里面发送请求
        routesList: [],
        // 11.8定义一个空的字符串存接口返回的 username
        // 11.9去到types文件夹里面的 api.d.ts
        userName: ''
      }),
      actions: {
        // 11.25在 actions 定义清空仓库数据的方法
        // 11.26将清楚仓库 pinia 的方法，写在公共方法里面 utils 文件夹里面的 index.ts
        clearStore() {
          this.routesList = [];
          this.userName = ''
        }
      }
    }
  )